package org.itboys.weixin.tools;

import java.io.IOException;
import java.util.Map;

import org.itboys.weixin.constant.WeixinConstants;
import org.itboys.weixin.entity.CompanyPayConfig;
import org.jdom.JDOMException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.alibaba.fastjson.JSON;

/**
 * 企业支付
 * @author weisky
 *
 * 2016年4月28日
 */
public class CompanyPayUtils {
	
	protected static Logger logger = LoggerFactory.getLogger(CompanyPayUtils.class);

	/**
	 * 发送
	 * @param cpc : 商户信息
	 * @param keyStorePath ： 证书存放的路径
	 * @return 如果一些顺利  最后的返回值是SUCCESS
	 */
	@SuppressWarnings("unchecked")
	public static String send(CompanyPayConfig cpc, String keyStorePath){
		String sign = SignUtil.signToMD5(cpc.sort());
		 cpc.setSign(sign);
		 String re = ClientCustomSSL.post(keyStorePath, cpc.getMchId(), WeixinConstants.URL.COMPANY_PAY_URL, cpc.getXml());
		 try {
			Map<String, Object> result = XMLUtil.doXMLParse(re);
			if(!result.isEmpty()){
				logger.info("********company result*********" + JSON.toJSONString(result));
				return (String) result.get("result_code");
			}
		} catch (JDOMException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return null;
	}
}
